package com.zj.study.utils;

import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.util.Date;
import org.springframework.web.multipart.MultipartFile;

/**
 * 对象存储服务操作工具接口
 *
 * @author 赵赳
 * @since 2021/8/25 11:39
 */
public interface OssTemplate {

  String uploadFile(String filePath, String fileName);

  String uploadFile(File file, String fileName);

  String uploadFile2Cos(MultipartFile file);

  /**
   * 上传文件
   *
   * @param fileName    文件名
   * @param inputStream 文件输入流
   * @return 文件访问地址
   * @throws IOException 抛出IO异常
   */
  String uploadFile2Cos(String fileName, InputStream inputStream) throws IOException;

  /**
   * 获取文件下载链接
   *
   * @param filepath 文件路径
   * @return 下载链接
   */
  String getUrl(String filepath, Date expiredAt);

}
